/*
 * Projeto GADJE
 * 
 * Criado em: 02/03/2013
 */
package br.com.gadje.dominiopersistencia.modelo;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;

/**
 * Classe que representa o perfil dos usuários.
 * 
 * @author Anderson Santos
 * 
 */
@SuppressWarnings("serial")
@Entity
@Table(name = "perfil", schema = "athenas_medico")
public class Perfil extends ModeloPersistencia {
	/**
	 * Administrador.
	 */
	private static final int ADMINISTRADOR = 26;
	
	/**
	 * Visualizador.
	 */
	private static final int VISUALIZADOR = 2;
	
	/**
	 * Identificador do perfil.
	 */
	@Id
	@SequenceGenerator(name = "sequencia", sequenceName = "athenas_medico.seq_perfil")
	@GeneratedValue(strategy = GenerationType.AUTO, generator = "sequencia")
	@Column(name = "id")
	private long id;

	/**
	 * Nome do perfil.
	 */
	@Column(name = "nome")
	private String nome;
	
	@Override
	public int hashCode() {
		return super.hashCode();
	}

	@Override
	public boolean equals(Object objeto) {
		return super.equals(objeto);
	}
	
	public boolean isAdministrador() {
		return this.getId() == ADMINISTRADOR;
	}
	
	public boolean isVisualizador() {
		return this.getId() == VISUALIZADOR;
	}
	
	public long getId() {
		return id;
	}
	
	public void setId(long id) {
		this.id = id;
	}

	public String getNome() {
		return nome;
	}

	public void setNome(String nome) {
		this.nome = nome;
	}
}
